// 导入数据库的包
const mysql = require("mysql")
//导入数据库配置文件(给mysql对象起别名)
const { mysql: dbConfig } = require("../config")
//创建连接
const con = mysql.createConnection(dbConfig)
//连接数据库
con.connect()
// 封装函数,向数据库查询并获取数据
/**
 * @params {string} sql(sql查询语句)
 * @return {promise}
 */
// 查询一条数据
function getOne(sql) {
  return new Promise((resolve, reject) => {
    con.query(sql, (err, data) => {
      if (err) {
        reject(err)
      }
      data.length != 0 ? resolve(data[0]) : resolve(null)
    })
  })
}
//查询所有
function getAll(sql) {
  return new Promise((resolve, reject) => {
    con.query(sql, (err, data) => {
      if (err) reject(err)
      resolve(data)
    })
  })
}
//增删改查
function exec(sql) {
  return new Promise((resolve, reject) => {
    con.query(sql, (err, data) => {
      //如果查询失败,返回错误信息
      if (err) reject(err)
      //如果成功,返回数据
      resolve(data)
    })
  })
}
//导出
module.exports = {
  getOne,
  getAll,
  exec,
}
